﻿namespace FlyingHat.Common.Attributes
{
    /// <summary>
    /// 这个Attribute就是使用时候的验证，把它添加到要缓存数据的方法中，即可完成缓存的操作。
    /// </summary>
    [AttributeUsage(AttributeTargets.Method, Inherited = true)]
    public class CachingAttribute : Attribute
    {
        /// <summary>
        /// 缓存绝对过期时间（秒），默认1800秒（30分钟）,如果小于0则表示永不过期
        /// </summary>
        public int AbsoluteExpiration { get; set; } = 1800;
        /// <summary>
        /// 存储Key
        /// </summary>
        public string Key { get; set; } = string.Empty;

        /// <summary>
        /// 判断是否是AOP
        /// </summary>
        public bool IsAop { get; set; } = false;
    }
}
